home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 98 / Skunkware 98.iso / src / net / bind-contrib.tar.gz / bind-contrib.tar / contrib / misc / dnstools.shar / named-to-hosts < prev    next >
Encoding:
Text File  |  1996-10-25  |  825 b   |  40 lines

  1. #!/usr/local/bin/perl
  2. #
  3. # script to read named's named.hosts master file and produce an /etc/hosts
  4. #
  5. # Eric Murray  2/2/93
  6. # ericm@microunity.com
  7. #
  8. # THIS SCRIPT DEPENDS ON DIG!!
  9. #
  10.  
  11. $domain = "microunity.com"; # domain.
  12.  
  13. $dig = "./dig axfr $domain"; 
  14.  
  15. open(DIG,"$dig |") || die "can't run $dig: $!\n";
  16. while(<DIG>) {
  17.     /\s+(A|CNAME)\s+/ || next;
  18.     s/\.$domain\.//ig;
  19.     chop;
  20.     @ar = split;
  21.  
  22.     if ($ar[2] eq 'CNAME') {
  23.         $aliases{$ar[3]} .= ' ' . $ar[0];
  24.     }
  25.     else {
  26.         # assume an A record here:
  27.         $ipaddrs{$ar[0]} = $ar[3];
  28.         push(@names,$ar[0]);  # i'm lazy today
  29.     }
  30. }
  31. close(DIG);
  32.  
  33. print "#\n#\tMACHINE GENERATED HOSTS FILE!\n#\tDO NOT EDIT!\n#\n#\n";
  34.  
  35. # produce alphabetically-sorted host file for the anal-compusive among us:
  36. foreach $name (sort (@names)) {
  37.     print "$ipaddrs{$name}\t$name\t$name.$domain\t$aliases{$name}\n";
  38. }
  39.  
  40.